1 思考题1.1 单边 z 变换和双边 z 变换都是如何定义的?z 和 s 的关系是什么?1.2 收敛域是如何定义的?对应于不同的序列,z 变换的收敛域有哪几种情况?1.3 给出几种典型序列的 z 变换。1.4 z 变换有哪些基本性质?1.5 可以利用 z 变换的哪一种性质求解差分方程?1.6 序列指数加权和序列线性加权分别是指什么?1.7 简述 z 变换的初值定理和终值定理?1.8 终值定理的应用条件是什么?2 练习题2.12.22.32.42.52.62.73 代码3.1.33.2.13.2.23.2.33.2.43.2.53.2.63.2.7
z 变换的引入、z 和 s 的关系
令
单边 z 变换
右边 z 变换:
左边 z 变换:
双边 z 变换
使 z 变换的级数收敛的点集称为收敛域(region of convergence, ROC)
无限长右边序列(因果序列)
无限长左边序列(反因果序列)
无限长双边序列
有限长序列
常用的离散序列
| 序列 | z 变换 | 收敛域 | 参数说明 |
|---|---|---|---|
三角与双曲三角
| 序列 | z 变换 | 收敛域 | 参数说明 |
|---|---|---|---|
逆变换常用公式(当
性质 1 (线性性质) 若
备注
该性质对于双边、左边、右边 z 变换都是成立的.
叠加后的收敛域一般为原收敛域的重叠部分;当零极点相消时,收敛域也可能扩大.
性质 2.1 (双边位移性质) 若
双边性质推论 若因果序列
性质 2.2 (单边位移性质) 若
推论 1 若
推论 2 对于因果序列
例子
性质 3 (尺度性质 / 序列指数加权) 若
备注 该性质对于双边、左边、右边 z 变换均成立.
推论
性质 4 (微分性质 / 序列线性加权) 若
备注 该性质对于双边、左边、右边 z 变换均成立.
性质 5.1 (时域卷积) 若
备注 该性质对于双边、左边、右边 z 变换均成立.
性质 5.2 (频域卷积) 若
其中
性质 6 (特值定理) 设因果序列
初值定理:
终值定理:
备注
此外还有
终值定理连同上述等式为实分析中的结果,由 Hardy 与 Littlewood 给出.
终值定理的另一种形式,可用于证明马尔科夫链笔记中的定理 3.3.5.
求解零状态系统的差分方程可分为两步:
求解单位样值响应:利用线性性质和时移性质;
求解零状态响应:利用时域卷积定理.
此外也可直接对差分方程两边作 z 变换,于是只需要用到时移性质.
而在求解序列的 z 变换时,可能还会用到其它性质辅助求解.
见问题四,这里简述如下:
序列指数加权:即尺度性质,
序列线性加权:即微分性质,
设因果序列
初值定理:
终值定理:
要求
这里不使用结论,而从定义出发,在推导的过程中得出收敛域:
同上:
即 2.1 和 2.2 的交集:
先推导指数序列的 z 变换及其收敛域:
由尺度性质(序列指数加权),
思路一:已知
由微分性质(序列线性加权),
思路二:已知
由尺度性质(序列指数加权),
思路一:部分分式展开后计算 z 逆变换(计算量大,根式繁多)
思路二:利用 z 变换定义和幂级数展开(求导法)
思路三:利用 z 变换定义和幂级数展开(长除法)
这里使用计算量最小的思路三,并假定
1flist = {2 {UnitStep[n], n, z},3 {E^(-\[Alpha] n), n, z},4 {Sin[\[Alpha] n], n, z},5 {n^3 + 3 n + 1, n, z},6 {n^k, n, z},7 {ChebyshevU[n, x], n, z},8 {a^n Cos[Pi n], n, z},9 {(m + 1) (n - m), {m, n}, {u, v}},10 {a^n m^3, {m, n}, {u, v}}11};12Grid[13 Join[14 {{f, Text["Z-Transform"]}},15 Transpose[{16 flist[[;; , 1]],17 Map[ZTransform @@ # &, flist]18 }]19 ], 20 Background -> {21 None, {{None, GrayLevel[.9]}}, {22 {1, 1} -> Hue[.6, .4, 1],23 {1, 2} -> Hue[.6, .4, 1]24 }25 },26 BaseStyle -> {FontFamily -> Times, FontSize -> 12},27 Dividers -> All,28 FrameStyle -> Hue[.6, .4, .8], 29 Spacings -> {2, 1}30] // TraditionalFormx
1(* 求解 z 变换及其收敛域 *)2X[z_] := ZTransform[3^-n UnitStep[n], n, z, GenerateConditions -> True]3(* 绘制收敛域的图像 *)4With[{z = u + I v}, RegionPlot[Abs[z] > 1/3, {u, -1, 1}, {v, -1, 1}]]5(* 绘制函数的幅角图 *)6ComplexPlot[X[z], {z, -1 - I, 1 + I}, ImageSize -> Small]
x
1(* 定义序列 *)2x[n_] := Which[3 n >= 0, 0,4 n < 0, 2^n5]6(* 求解 z 变换 *)7X[z_] := BilateralZTransform[8 x[n], n, z,9 GenerateConditions -> True10]11(* 绘制收敛域的图像 *)12With[13 {z = u + I v}, RegionPlot[Abs[z] < 2,14 {u, -3, 3}, {v, -3, 3}]15]16(* 绘制函数的幅角图 *)17ComplexPlot[X[z], {z, -1 - I, 1 + I}, ImageSize -> Small]
x1(* 定义序列 *)2x[n_] := Which[3 n >= 0, 3^-n,4 n < 0, 2^n5]6(* 求解 z 变换 *)7X[z_] := BilateralZTransform[8 x[n], n, z,9 GenerateConditions -> True10]11(* 绘制收敛域 *)12With[13 {z = u + I v}, RegionPlot[1/3 < Abs[z] < 2,14 {u, -3, 3}, {v, -3, 3}]15]16(* 绘制函数幅角图 *)17ComplexPlot[X[z], {z, -3 - 3 I, 3 + 3 I}, ImageSize -> Small]
xxxxxxxxxx41ZTransform[2 Cos[n Subscript[\[Omega], 0]], n, z,3 GenerateConditions -> True4]xxxxxxxxxx41ZTransform[2 \[Beta]^n Cos[n Subscript[\[Omega], 0]], n, z,3 GenerateConditions -> True4]xxxxxxxxxx11ZTransform[n a^n UnitStep[n], n, z, GenerateConditions -> True]使用思路一的 mathematica 代码
xxxxxxxxxx11Table[InverseZTransform[(z^2 + 2 z)/(z^3 + 0.5 z^2 - z + 7), z, n], {n, 0, 1}]使用思路二的 mathematica 代码
xxxxxxxxxx11Table[Series[(2 z^2 + z)/(7 z^3 - z^2 + 0.5 z + 1), {z, 0, n}], {n, 0, 1}]前两种思路的计算机求解在误差范围内与第三种方法是相同的.